1. Technological Field
The present disclosure relates to machine learning apparatus and methods, and in particular, to learning with analog and/or spiking signals in artificial neural networks.
2. Description of Related Art
Artificial spiking neural networks are frequently used to gain an understanding of biological neural networks and for solving artificial intelligence problems. These networks typically employ pulse-coded mechanisms, which encode information using the timing of pulses. Such pulses (also referred to as “spikes” or ‘impulses’) are short-lived (typically on the order of 1-2 ms) discrete temporal events. Several exemplary embodiments of such encoding are described in a commonly owned and co-pending U.S. patent application Ser. No. 13/152,084 entitled “APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION”, filed Jun. 2, 2011, and U.S. patent application Ser. No. 13/152,119, Jun. 2, 2011, entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”, now issued as U.S. Pat. No. 8,942,466, each incorporated herein by reference in its entirety.
Spiking neural networks offer several benefits over other classes of neural networks, including without limitation: greater information and memory capacity, richer repertoire of behaviors (tonic and/or phasic spiking, bursting, spike latency, spike frequency adaptation, resonance, threshold variability, input accommodation and bi-stability), as well as efficient hardware implementations.
Biological neurons may be classified according to their electrophysiological characteristics and discharge patterns: Similarly, in artificial spiking neuron networks, tonic or regular spiking may be used to describe neuron behavior where the neuron is typically constantly (or tonically) active. Phasic or bursting spiking may be used to describe neuron behavior where the neuron fires in bursts.
In various implementations of spiking neural networks, it may be assumed that weights are the parameters that can be adapted. This process of adjusting the weights is commonly referred to as “learning” or “training”.
Supervised learning is often used with spiking neural networks. In supervised learning, a set of example pairs (x,yd), xεX, ydεY are given, where X is the input domain and Y is the output domain, and the aim is to find a function ƒ; X→Y in the allowed class of functions that matches the examples. In other words, we wish to infer the mapping implied by the data. The learning process is evaluated using a so-called “cost function”, which quantifies the mismatch between the mapping and the data, and it implicitly contains prior knowledge about the problem domain. A commonly used cost is the mean-squared error, which tries to minimize the average squared error between the network's output, y, and the target value yd over all the example pairs.
In various control applications (e.g., when controlling a motor actuator), it may be required to gate analog and/or spiking signals based on a spiking and/or analog input. When implementing gating functionality, most existing methodologies for implementing learning for analog and spiking signals in artificial neural networks may employ different node types and learning algorithms configured to process only one, specific signal type, for example, only analog or only spiking signal type. Such an approach has several shortcomings, for example, the necessity to provide and maintain learning rules and nodes of different types and node duplication and proliferation in circumstances in which the network is configured to process signals of the mixed types (analog and spiking). Network configurations comprising nodes of different types, therefore prevent dynamic node reconfiguration and reuse during network operation. Furthermore, learning methods of prior art that are suitable for learning for analog signals are not suitable for learning for spike-timing encoded signals. Similarly learning rules for spike-based signals are not efficient in training neural networks for processing analog signals.
Based on the foregoing, there is a salient need for apparatus and method for implementing unified approach to learning and training of artificial neuronal network comprising spiking neurons that are capable of processing spiking and/or analog inputs and generating spiking and/or analog outputs.